Linux的FTP安装、使用和配置(FTP客户端管理工具) | 您所在的位置:网站首页 › pve 客户端 › Linux的FTP安装、使用和配置(FTP客户端管理工具) |
文章目录
一、FTP服务介绍1. 什么是FTP服务2. FTP服务的客户端工具3. FTP的两种运行模式1)主动模式2)被动模式3)为什么默认是被动模式
二、搭建FTP服务1. 关闭防火墙和selinux2. 安装软件3. 了解FTP软件配置文件
三、FTP使用1. 任务背景2. 任务要求3. 配置过程1)创建客服账号2)不允许匿名用户访问3)指定账号访问的目录4)限定kefu/123只能在/data/kefu目录下活动5)解决无法上传6)禁锢目录
四、Linux下ftp客户端管理工具1. 安装ftp和lftp2. ftp工具1) 解决ftp工具登录报错2)ftp客户端工具常用命令
3. lftp工具(批量操作)lftp常用命令
五、FTP控制1. FTP访问对象控制(黑名单)2. FTP 网络访问控制1)限制IP地址2)如何判断某个服务是否支持tcp_wrappers3)显示FTP流量4)使用第三方平台视频
一、FTP服务介绍
1. 什么是FTP服务
FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议 vsftpd => vs(very secure ftp daemon) vs非常安全的ftp守护进程 2. FTP服务的客户端工具 Linux:ftp、lftp(客户端程序)Windows:Xftp、Chrome、Firefoxlftp和ftp工具区别: lftp:默认是以匿名用户访问ftp:默认是以用户名+密码方式访问lftp可以批量并且下载目录 3. FTP的两种运行模式在FTP服务中,其一共拥有两种模式(主动模式+被动模式) 注意:这个主动和被动是站在FTP服务器端来看的 如果是FTP服务器主动连接客户端就是主动模式 如果是客户端主动连接FTP服务端就是被动模式 FTP模式是被动模式 1)主动模式因为如果是主动模式可能会遇到客户端的防火墙拦截的可能,但如果是客户端主动发起连接就不会遇到这种情况。 二、搭建FTP服务 1. 关闭防火墙和selinux关闭防火墙命令:systemctl stop firewalld 关闭防火墙开机自启:systemctl disable firewalld 关闭selinux:setenforce 0 关闭selinux开机自启:vim /etc/selinux/config 把SELINUX=disabled 2. 安装软件如果没网挂载光盘。 命令:mount /dev/sr0 /mnt 清除缓存:yum clean all 重新建立缓存:yum makecache 第一步安装 安装命令:yum -y install vsftpd第二步启动ftp服务并添加到开机启动项中 启动:systemctl start vsftpd 设置开机自启:systemctl enable vsftpd 最后通过浏览器输入本机ip测试 查看本机Ip:ifconfig 使用FTP软件测试 通过命令:rpm -ql vsftpd,查看安装vsftpd产生了哪写文件 /etc/vsftpd #配置文件的目录 /etc/vsftpd/ftpusers #用户列表文件,黑名单 /etc/vsftpd/user_list #用户列表文件,可黑可白(默认是黑名单) /etc/vsftpd/vsftpd.conf #配置文件(主配置文件) /var/ftp #匿名用户的默认数据根目录 /var/ftp/pub #匿名用户的扩展数据目录 /usr/sbin/vsftpd #程序本身(二进制的命令)查看配置文件:过率掉以#开头的内容 命令:grep -v ^# /etc/vsftpd/vsftpd.conf anonymous_enable=YES #支持匿名用户访问 local_enable=YES #支持非匿名用户,普通账号登录,默认进入到自己家目录 write_enable=YES #是否支持写入 local_umask=022 #反掩码 file:644 rw- r-- r-- dir:755 dirmessage_enable=YES #启用消息功能 xferlog_enable=YES #开启或启用xferlog日志 connect_from_port_20=YES #支持主动模式(默认被动模式) xferlog_std_format=YES #xferlog日志格式 listen=NO #ftp服务独立模式下的监听 listen_ipv6=YES #支持ipv4和ipv6 pam_service_name=vsftpd #指定认证文件 userlist_enable=YES #启用用户列表 tcp_wrappers=YES #支持tcp_wrappers功能(FTP限速操作) 三、FTP使用 1. 任务背景某创业公司刚刚起步,随着业务量的增多,咨询和投诉的用户也越来越多,公司的客服部门由原来的2个增加到5个。客服部门平时需要处理大量的用户反馈,不管是邮件,还是QQ,还是电话,客服人员都会针对每一次的用户反馈做详细的记录 ,但是由于客观原因,客服人员没有成熟稳定的客户服务系统,所以希望运维部门能够协助搭建一个文件共享服务来管理这些文档,并且随时跟踪客户的反馈情况。 2. 任务要求 客服人员必须使用用户名密码(kefu/123456)的方式登录服务器来下载相应文档不允许匿名用户访问客服部门的相关文档保存在指定的目录里/data/kefu local_root=/data/kefu客服用户使用用户kefu/123登录后就只能在默认的==/data/kefu目录里活动== 3. 配置过程 1)创建客服账号命令:useradd kefu 设置密码:echo 123456 | passwd --stdin kefu 2)不允许匿名用户访问修改配置文件 vim /etc/vsftpd/vsftpd.conf 修改12行的配置文件 anonymous_enable=NO 重启vsftpd服务 systemctl restart vsftpd 关闭匿名用户登录后
创建/data/kefu目录 命令:mkdir -p /data/keft 修改FTP配置文件 命令:vim /etc/vsftpd/vsftpd.conf 在17行添加 local_root=/data/kefu
在XFTP上测试连接,默认就是进入/data/kefu目录 为了保证安全,只能运行kefu用户在/data/kefu目录下活动 禁锢kefu用户只能在/data/kefu目录下 修改/etc/vsftpd/vsftpd.conf配置文件 命令:vim /etc/vsftpd/vsftpd.conf 在第18行添加 chroot_local_user=YES 禁锢在/data/kefu目录 5)解决无法上传之所以无法上传,主要原因在于kefu这个账号对于/data/kefu文件夹没有w写权限,因为这个目录是root 创建的。 通过命令:getfacl [目录]查看当前目录的ACL 权限 解决办法:用户ACL给kefu用户单独设置写权限 命令:setfacl -R -m u:kefu:rwx /data/kefu 让所有用户只能在固定目录活动 禁锢所有用户修改配置文件:/etc/vsftpd/vsftpd.conf 添加:chroot_local_user=YES 给某一些用户开同非禁锢权限 修改配置文件 105行 chroot_list_enable=YES 开启用户列表文件 107行chroot_list_file=/etc/vsftpd/chroot_list 指定用户列表文件 比如让hhy这个用户不会被禁锢在指定目录 命令:echo hhy >> /etc/vsftpd/chroot_list 重启服务:systemctl restart vsftpd 四、Linux下ftp客户端管理工具 1. 安装ftp和lftpftp和lftp都是Linux下ftp的客户端管理工具 安装命令:yum -y install ftp lftp ftp一般用来上传下载单个或者多个文件lftp一般用于批量上传或下载文件 2. ftp工具命令:ftp [目标主机ip] 注意:目标主机要安装vsftpd服务 原因是目录没有写入权限 通过help可以查看有哪些命令 ls:和linux上的ls命令类似 Ctrl+Shift + L:清屏 put:使用put [本地文件路径+名称] 上传 get:使用get [远程文件路径+名称] 下载 mput:批量上传多个文件:mput 文件名1 文件名2 mget:批量获取多个文件:mget 文件名1 文件名2 prompt:屏蔽批量输出信息,批量上传下载文件就不需要一直回车确认了 quit:退出ftp 3. lftp工具(批量操作)使用命令:lftp [用户名]@目标主机ip 通过 help获取命令帮助 常用命令:mirror 示例1:批量上传(把tmp文件夹上传到FTP服务器上) 命令:mirror -R tmp
命令:mirror ./ 在 /etc/vsftpd/目录下有这么两个文件 ftpusers:黑名单user_list:默认是黑名单(可以改成白名单)默认情况下,root账号是不能登录FTP服务器的。**因为root账号在/etc/vsftpd/ftpusers黑名单里
示例2:ftpusers 和 user_list黑名单不同之处 ftpusers:被禁用,可以输入密码,返回530 [root@localhost ~]# ftp 192.168.44.122 Connected to 192.168.44.122 (192.168.44.122). 220 (vsFTPd 3.0.2) Name (192.168.44.122:root): kefu 331 Please specify the password. Password: 530 Login incorrect. Login failed. ftp>user_list:默认情况下user_list文件也是黑名单,如果在该文件里直接拒绝,不给输入密码的机会。 [root@localhost ~]# ftp 192.168.44.122 Connected to 192.168.44.122 (192.168.44.122). 220 (vsFTPd 3.0.2) Name (192.168.44.122:root): kefu 530 Permission denied. Login failed. ftp>示例3:user_list可以从黑名单变成白名单(允许某个用户登录FTP系统服务器) user_list如果要变成白名单,需要在/etc/vsftpd/vsftpd.conf配置文件里增加 userlist_deny=NO 注意:如果user_list被设置为白名单,那必须在该文件里 的用户才能访问ftp服务 总结 用户在ftpusers文件中,那么用户不能访问ftp服务器用户在user_list文件中,如果该文件是白名单,那么只在该文件中的用户可以访问ftp服务如果user_list文件是白名单,用户即在ftpusers中又在user_list中,那么ftpusers拒绝优先 2. FTP 网络访问控制/etc/hosts.allow:允许访问网段的配置文件 /etc/hosts.deny:拒绝访问网段的配置文件 TP必须支持tcp_wrappers 通过命令:tail -1 /etc/vsftpd/vsftpd.conf 可以查看ftp的配置文件,是支持tcp_wrappers [root@localhost vsftpd]# tail -1 /etc/vsftpd/vsftpd.conf tcp_wrappers=YES [root@localhost vsftpd]#限制ip或者ip网段访问示例 修改/etc/hosts.deny配置文件 添加对应配置文件: vsftpd:all 拒绝所有主机连接ftp vsftpd:all EXCEPT 192.168.44.122 拒绝所有ip ,除了192.168.44.122 vsftpd:192.168.44.155 拒绝单个ip访问 vsftpd:192.168.44.155:allow 允许192.168.44.155访问,类似/etc/hosts.allow里增加vsftpd:192.168.44.155拒绝某个网段 vsftpd:192.168.44.122/255.255.255.0 拒绝某个网段 vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.44.122 拒绝某个网段,但是除了192.168.44.122地址注意:子网掩码不支持192.168.44.122/24这种写法 还可以禁用sshd服务的某个ip vim /etc/hosts.deny vsftpd,sshd:192.168.44.155 代表禁止:192.168.44.155这个ip 连接这个两个服务 2)如何判断某个服务是否支持tcp_wrappers命令: ldd命令 +二进制程序,查询某个软件包含哪些模块 示例:查询vsftpd与sshd是否支持tcp_wrappers [root@localhost vsftpd]# ldd /usr/sbin/sshd | grep libwrap* libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fc5e4160000) [root@localhost vsftpd]# ldd /usr/sbin/vsftpd | grep libwrap* libwrap.so.0 => /lib64/libwrap.so.0 (0x00007ff21c4da000) [root@localhost vsftpd]# 3)显示FTP流量修改配置文件 vim /etc/vsftpd/vsftpd.conf 在配置文件中添加一行 local_max_rate=0 # 0代码不限速 # local_max_rate以字节为单位 4)使用第三方平台视频 在linux中安装httpd 命令:yum -y install httpd启动httpd 命令:systemctl start httpd\:在/var/www/html项目目录中创建一个demo.html文件把下面内容写入demo.html中
|
CopyRight 2018-2019 实验室设备网 版权所有 |